我在UNIX的目录下有几百个PDF.PDF的名称非常长(大约60个字符).
当我尝试使用以下命令一起删除所有PDF时:
rm -f *.pdf
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
/bin/rm: cannot execute [Argument list too long]
Run Code Online (Sandbox Code Playgroud)
这个错误的解决方案是什么?这个错误是否也出现在命令mv和cp命令中?如果是,如何解决这些命令?
我是shell脚本的新手,有人可以帮忙吗?我想删除文件夹中的脚本,从当前日期回到10天.脚本如下:
2012.11.21.09_33_52.script
2012.11.21.09_33_56.script
2012.11.21.09_33_59.script
Run Code Online (Sandbox Code Playgroud)
该脚本将每隔10天与Crontab一起运行,这就是我需要当前日期的原因.
我想删除超过7天的文件和文件夹,所以我尝试了
[17:07:14 root@client01.abc.com:~]# find /tmp/ -mindepth 1 -maxdepth 1 -ctime +7 -exec ls -l {} \;
Run Code Online (Sandbox Code Playgroud)
因此,当我运行find /tmp/ -mindepth 1 -maxdepth 1 -ctime +7 -exec ls -l {} \;它不显示任何目录,但因为find /tmp/ -mindepth 1 -maxdepth 2 -ctime +7 -exec ls -l {} \;它确实显示在subdir中的几个文件.
什么是在一个特定目录中删除超过7天的文件/文件夹的正确方法?
我想删除超过1周的备份文件.我从gitlab 跟踪了这个备份文档,并成功创建了备份文件以上传到Amazon S3.
我也设置gitlab_rails['backup_keep_time'] = 604800但它不起作用.
但是,从我在他们创建的IAM用户策略中观察到的内容.无权删除文件.
备份文件正在打包,我不想在AWS中手动执行此操作.
是否有任何标准方法可以删除Amazon S3中用于gitlab omnibus包的备份文件?
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1412062044000",
"Effect": "Allow",
"Action": [
"s3:AbortMultipartUpload",
"s3:GetBucketAcl",
"s3:GetBucketLocation",
"s3:GetObject",
"s3:GetObjectAcl",
"s3:ListBucketMultipartUploads",
"s3:PutObject",
"s3:PutObjectAcl"
],
"Resource": [
"arn:aws:s3:::my.s3.bucket/*"
]
},
{
"Sid": "Stmt1412062097000",
"Effect": "Allow",
"Action": [
"s3:GetBucketLocation",
"s3:ListAllMyBuckets"
],
"Resource": [
"*"
]
},
{
"Sid": "Stmt1412062128000",
"Effect": "Allow",
"Action": [
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::my.s3.bucket"
]
}
]
}
Run Code Online (Sandbox Code Playgroud) 我有一个每天运行的 Python 程序。我使用loggingFileHandler 模块将日志写入文件。我希望每次运行的日志都位于其自己的带有时间戳的文件中。但是,我想删除旧文件(例如 > 3 个月)以避免填满磁盘。
我查看了 RotatingFileHandler 和 TimedRotatingFileHandler,但我不希望单次运行的日志被分割到多个文件中,即使单次运行需要几天时间。有内置方法吗?
我的要求与这个问题几乎相同:Shell script to delete paths超过n天 我的目录如下所示:
Jul 24 05:46 2013_07_24
Jul 31 22:30 2013_08_01
Sep 18 05:43 2013_09_18
Oct 07 08:41 2013_10_07
Run Code Online (Sandbox Code Playgroud)
我想删除所有超过 90 天的内容。根据上述线程中给出的解决方案,我在脚本中使用了以下内容:
find $BASE_DIR -type d -ctime +90 -exec rm -rf {} \;
Run Code Online (Sandbox Code Playgroud)
该脚本成功删除了目录,但也失败并出现以下错误:
find: 0652-081 cannot change directory to <actual_path>:
: A file or directory in the path name does not exist.
Run Code Online (Sandbox Code Playgroud)
这里唯一的事情是 $BASE_DIR 指向虚拟位置,而错误消息中的actual_path 指向实际位置。环境中有软链接。