- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个 python 脚本,可以在运行时备份 sql 数据库。
当我手动破坏它但它不运行 tar 和 rm 命令时它可以完美地工作!
在备份之前,我当然运行 mysqldump 命令,然后在运行此命令之后。这是脚本中处理备份的部分
os.system('tar -cvzf Backup_' + formt + '.tar.gz ' + 'sql_Backup_' + formt + '.sql')
os.system('rm ' + 'sql_Backup_' + formt + '.sql')
在我的cronjob中
# Python SQL Backup Script
00 23 * * 07 sudo /usr/bin/python /home/user/scripts/SQLbackup.py
当我从 shell 本身运行它时,它运行良好sudo python/home/user/scripts/SQLbackup.py
但 cronjob 不会。它只运行脚本并创建 sql 文件,仅此而已。它不会压缩它,也不会在压缩后删除 sql 文件。
我将其添加到 sudoers 文件
root ALL=(ALL) NOPASSWD:/bin/tar
sudo ALL=(ALL) NOPASSWD:/bin/tar
但还是什么都没有。我设置 root 和 sudo 只是为了 100% 确定。
请记住:它可以手动完美运行,但不能完全从 crontab 运行。
最佳答案
问题可能是从 crontab 运行脚本时未正确设置 $PATH
,这会导致脚本找不到指定的二进制文件。
还要检查脚本是否在正确的目录中执行。
修改脚本以包含 tar
和 rm
的完整路径并测试它是否工作得更好:
os.chdir('/path/to/where/sqlfile/resides')
os.system('/usr/bin/tar -cvzf Backup_' + formt + '.tar.gz ' + 'sql_Backup_' + formt + '.sql')
os.system('/bin/rm ' + 'sql_Backup_' + formt + '.sql')
请注意,tar
通常安装在 /usr/bin
中,但不同的 Unix 风格之间可能有所不同。
关于python - Tar 无法通过 cronjob 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22000568/
我正在使用 tf 函数列出 tar.gz 文件的内容。它非常大~1 GB。大约有 1000 个文件以年/月/日文件结构组织。 列表操作需要一些时间。似乎列表应该很快。谁能告诉我内部原理? 谢谢- 最佳
如何将信息通过管道传输到 tar 中并指定文件名? 最佳答案 类似于: tar cfz foo.tgz --files-from=- 但请记住,这不适用于所有可能的文件名;您应该考虑使用 --null
我总是用 tar czf file.tar.gz dirname而不是 tar -czf file.tar.gz dirname (没有 - )因为更快 我知道......从文档中,我所做的是错误的。
我有一个小型的 bash 单行代码,可以从各种来源下载存档列表。以下是包含该列表的文件示例: http://this-is-url1/url1.tar.gz http://www.this-is-ur
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
假设我在服务器 A 上使用 tar -czvf subdir.tgz subdirectory/* 创建了一个 tar 存档。 .如果我在服务器 B 上有一个并行结构,我已将此 tarball 复制到
我看到Linux tar有一个选项--overwrite。但是覆盖似乎是默认设置。而且,指定tar --no-overwrite不会更改此行为,因为信息文件似乎暗示了这一点。 那么,该选项实际上是做什
我需要创建一个任意大的 tarfile 用于测试,但不希望它写入磁盘。 最简单的方法是什么? 最佳答案 您可以轻松地使用 python 生成这样的 tarfile: mktar.py: #!/usr/
[root@c0002242 lfeng]# tar -zxvf/opt/test/ALLscripts.tar.gz -C/opt/test1 tar:这看起来不像 tar 存档 tar:跳到下一个
tar -xvzf $文件名.tar.gz || { 退出 $?; } 这里我的脚本将退出并显示错误代码 141。我使用的是 Fedora Core 6 和 tar 版本 1.15 这种情况不会一直发
我无法运行 docker-compose up 或 docker-compose build --no-cache。两者都以 ERROR: Error processing tar file(arch
我对 linux 平台非常陌生,我想为 ubuntu 提取 gnutls。如果我做, $ls 然后,它将在下面显示这些文件。 gnutls-3.2.1.tar.lz gnutls-3.2.1.tar.
我有一个巨大的 tarbell 存档,其中包含过大或损坏的 error_log,导致存档在尝试解压缩时挂起。有没有办法在解压缩或提取存档之前从存档中删除它,而无需在 Mac OS X 终端上提取该特定
我正在尝试针对特定用例评估 Artifactory,并且正在寻找可以支持将 Artifactory 用于文件存储库的文档。 我找到的只是一个用于部署 Artifactory 的文档,这些文档已存档在
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我想写一个有两个参数的脚本1. 父目录名称(例如 mainFolder)2.要创建的tar名称 父目录将包含子文件夹(文件夹 1、文件夹 2、文件夹 3 等)。我需要一个脚本来创建“mainFolde
假设我在 /tmp 中。我想压缩 /tmp/aaa/123,/tmp/bbb/222。我使用的命令是:tar -vczf/tmp/my.tar.gz/tmp/aaa/123/tmp/bbb/222。这
我有一个bzip2ed tar 文件和一个包含文件列表的文本文件。我想从 tar 中提取文本文件中列出的文件,将它们添加到一个新的 tar 中,然后从第一个 tar 中删除它们。 例如,如果我有这样一
本文实例讲述了Python打包文件夹的方法。分享给大家供大家参考,具体如下: 1、zip ?
我输入这个命令su -c busybox tar -xvf/storage/emulated/0/Download/andrax.r5-build5.tar.xz -C/data/data/com.t
我是一名优秀的程序员,十分优秀!